package com.zonski.jbots.engine;

public interface CollisionEffect
{
    public static final int NO_COLLISIONS = 0;
    public static final int SIMPLE_COLLISIONS = 1;
    public static final int DETAILED_COLLISIONS = 2;

    /**
     * Applies the effect of the specified
     * collision to the entity
     * @return whether the entity has changed position/size 
     * as part of this collision
     */
    boolean apply(Entity entity, Engine engine, CollisionData collision);

    /**
     * Indicates whether detailed collision information is required by this effect when
     * the collision is with the specified entity
     * @return the type of collision
     */
    int getCollisionType(Entity entity, Entity with);
}
